package com.springboot.onlinemusicserver.utils.common;

import jakarta.annotation.Resource;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Component;

/**
 * Created with IntelliJ IDEA.
 * Description :
 * User: jiume
 * Date: 2025-05-20
 * Time: 10:25
 */
public class Encrypt {
    // 使用 spring security 中提供的加密工具类
    private static final BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();

    /**
     * 加密（随机盐值+多轮哈希）
     * @param password 原始密码
     * @return 加密后的密码
     */
    public static String encode(String password) {
        return encoder.encode(password);
    }

    /**
     * 匹配原始密码和加密密码看是否一致
     * @param password 原始密码
     * @param newPassword 加密密码
     * @return 是否一致
     */
    public static boolean matches(String password, String newPassword) {
        return encoder.matches(password, newPassword);
    }
}
